/* 函数重载 */
// function hello(score: number[]): void // 定义 hello 函数 传参字段 score，类型为 number数组  void 表示无返回值
function hello(score: number[]): string; // 定义 hello 函数 传参字段 score，类型为 number数组  返回 string 类型
function hello(name: string): string;  // 定义 hello 函数 传参字段 name，类型为 string  返回 string 类型
function hello(age: number): string; // 定义 hello 函数 传参字段 age，类型为 number  返回 string 类型
function hello(value: string | number | number[]): string {    // 定义 hello 函数 传参字段 value，类型为 string 或 number  返回 string 类型
    if (typeof value === 'string') {
        return '你好，我的名字是' + value
    } else if (typeof value === 'number') {
        return `你好，我的年龄是${value}`
    }
    else if (Array.isArray(value)) {
        return `你好，我的分数分别是${value.join(',')}`
    }
    else {
        return `非法格式`
    }
}

// 测试
console.log(hello('abc')); // 你好，我的名字是abc
console.log(hello(18));   // 你好，我的年龄是18
console.log(hello([1, 2, 3])); // 你好，我的分数分别是1,2,3